﻿using System;
using System.Collections.Generic;
using Scommesse.Utility;

namespace Scommesse.Model
{

    #region StatoEvento enum

    public enum StatoEvento
    {
        [StringValue("Scommettibile")] Scommettibile,
        [StringValue("In Corso")] InCorso,
        [StringValue("Terminato")] Terminato
    }

    #endregion

    public interface IEvento
    {
        Guid Id { get; }
        string CompetitoreA { get; }
        string CompetitoreB { get; }
        int PunteggioA { get; }
        int PunteggioB { get; }
        DateTime DataOra { get; }
        List<Risultato> Risultati { get; }
        StatoEvento Stato { get; set; }
        Dictionary<Tipologia, List<Quota>> Quote { get; set; }
        ICompetizione Competizione { get; }

        void SetPunteggi(int punteggioA, int punteggioB);

        Quota GetQuotaByValore(String valore, Tipologia tipologia);
        bool Equals(object obj);
        int GetHashCode();
    }
}